package cn.wolfcode.service;


import cn.wolfcode.common.domain.UserInfo;
import cn.wolfcode.domain.OrderInfo;
import cn.wolfcode.mq.OrderMQResult;

import java.util.Map;

/**
 * Created by wolfcode-lanxw
 */
public interface IOrderInfoService {

    /**
     * 获取商品下单后的单号
     *
     * @param time      时间
     * @param seckillId 秒杀我
     * @param phone  用户信息
     * @return {@link String}
     */
    String doSeckill(int time, Long seckillId, Long phone);

    /**
     * 库存回补
     *
     * @param orderMQResult 订单mqresult
     */
    void coverStock(OrderMQResult orderMQResult);

    /**
     * 根据订单号获取订单详情
     *
     * @param orderNo 订单没有
     * @return {@link OrderInfo}
     */
    OrderInfo getByOrderNo(String orderNo);

    /**
     * 在线支付
     *
     * @param orderNo 订单没有
     * @param type    类型
     * @return {@link String}
     */
    String payOnline(String orderNo, int type);

    void paySuccess(Map<String, String> params);

    void refundOnline(String orderNo);

    void payIntegral(String orderNo, int type);

    void refundIntegral(String orderNo);
}
